package org.dromara.admin.domain.vo;

import org.dromara.admin.domain.SystemConfig;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.admin.enums.GeneralEnum;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 系统配置视图对象 bi_system_config
 *
 * @author Lion Li
 * @date 2025-10-10
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SystemConfig.class)
public class SystemConfigVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 配置唯一ID
     */
    @ExcelProperty(value = "配置唯一ID")
    private Long id;

    /**
     * 关联主体ID（每个主体1条配置，关联bi_company.id）
     */
    @ExcelProperty(value = "关联主体ID", converter = ExcelDictConvert.class)
    private Long companyId;

    /**
     * 库存统计：Y-开，N-关
     */
    @ExcelProperty(value = "库存统计：Y-开，N-关")
    private GeneralEnum stockStat;

    /**
     * 一客一价：Y-开，N-关
     */
    @ExcelProperty(value = "一客一价：Y-开，N-关")
    private GeneralEnum customerPrice;

    /**
     * 结算模式：Y-开，N-关
     */
    @ExcelProperty(value = "结算模式：Y-开，N-关")
    private GeneralEnum settleMode;

    /**
     * 标签模式：Y-开，N-关（企业版）
     */
    @ExcelProperty(value = "标签模式：Y-开，N-关", converter = ExcelDictConvert.class)
    private GeneralEnum tagMode;

    /**
     * 物流模式：Y-开，N-关
     */
    @ExcelProperty(value = "物流模式：Y-开，N-关")
    private GeneralEnum logisticsMode;

    /**
     * 财务模式：Y-开，N-关
     */
    @ExcelProperty(value = "财务模式：Y-开，N-关")
    private GeneralEnum financeMode;

    /**
     * 多地址模式：Y-开，N-关
     */
    @ExcelProperty(value = "多地址模式：Y-开，N-关")
    private GeneralEnum multiAddress;

    /**
     * 二级分类：Y-开，N-关
     */
    @ExcelProperty(value = "二级分类：Y-开，N-关")
    private GeneralEnum twoLevelCategory;


}
